// pages/manpower_resource/manpower_resource.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    scrollTop: 0,
    date: '',
    noData:false,
    show: false,
    height: 0,
    sexList: ["保密", "男", "女"],
    list: [],
    statusList: [
      {status:1, name:"在职"},
      {status:2, name:"离职"}
    ],
    minDate: new Date(2020,0,1).getTime(),
    isShowStatusList: false,            // 是否展示状态列表
    status_name: "",                    // 选中状态名称
    status: "",                         // 筛选状态
    name: "",                           // 筛选姓名
    startTime: 0,                       // 筛选开始时间
    endTime: 0,                         // 筛选结束时间
    pickerConfig: {                     // 时间筛选
      endDate: true,
      dateLimit: false,
      initStartTime: "2019-01-01",
      initEndTime: "2019-12-01",
      limitStartTime: "2000-01-01",
      limitEndTime: "2100-12-31"
    },
    current_page: 1
  },
  onDisplay() {
    this.setData({
      show: true
    });
  },
  onClose() {
    this.setData({
      show: false
    });
  },
  // 时间格式拼接
  formatDate(date) {
    date = [new Date(date.startTime), new Date(date.endTime)];
    return `${date[0].getFullYear()}/${date[0].getMonth() + 1}/${date[0].getDate()}-${date[1].getFullYear()}/${date[1].getMonth() + 1}/${date[1].getDate()}`;
  },
  // 时间选择
  onConfirm(event) {
    this.setData({
      show: false,
      date: this.formatDate(event.detail),
      startTime: parseInt(new Date(event.detail.startTime).getTime()/1000),
      endTime: parseInt(new Date(event.detail.endTime).getTime()/1000)
    });
  },
  // 详情
  toDetail(e) {
    let { type, id } = e.currentTarget.dataset || {};
    console.log('type', type)
    wx.navigateTo({
      url: '/pages/manpower_resource_edit/manpower_resource_edit?type=' + type + '&id=' + id,
    })
  },
  // 修改筛选姓名
  changeName(e){
    this.setData({
      name: e.detail.value
    })
  },
   /**
   * 展示在职状态列表
   */
  showStatusList () {
    this.setData({
      isShowStatusList: true
    })
  },
  /**
   * 隐藏在职状态列表
   */
  closeStatusList() {
    this.setData({ isShowStatusList: false });
  },

  /**
   * 选择在职状态
   * @param {*} event 
   */
  selectStatus(event) {
    this.setData({
      status_name: event.detail.name,
      status: event.detail.status
    })
  },
  // 新员工审核
  audit() {
    wx.navigateTo({
      url: '/pages/audit/audit',
    })
  },
  /**
   * 查询数据
   */
  searchData(){
    this.setData({
      list: []
    })
    let data = {
      employee_name: this.data.name,
      status: this.data.status,
      job_time_start: this.data.startTime,
      job_time_end: this.data.endTime
    }
    this.getData(data);
  },
  /**
   * 获取员工数据
   */
  getData(data, isDrop) {
    wx.$api.listEmployee(data||{}).then(res => {
      console.log(res, '已审核员工列表')
      if (res.data.code == 200) {
        let {list,pagination} = res.data.data || {};
        list.map(item => {
          item.sex = this.data.sexList[item.sex]
          item.create_time = wx.timestamp(item.create_time*1000, 'day')
          return item
        })
        let current_page = pagination.current_page;
        if(!list.length){
          this.setData({
            noData: true,
          })
        
          current_page = this.data.current_page
        }

        if(isDrop){
          list = this.data.list.concat(list)
        }

        this.setData({
          list: list,
          current_page: current_page
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    wx.computeHeight('.top-search', (h)=>{
      this.setData({
        height:h
      })
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    wx.switchTab({
      url: '/pages/index/index',
    })
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },
  // 上拉加载
  bindscrolltolower: function () {
    console.log(111)
    // let data = {
    //   list: this.data.list.concat(this.data.list)
    // };
    // this.setData(data);this
    this.getData({
      pagination:{
        page_start:this.data.current_page + 1
      }
    }, true)
  }
})